home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 May / EnigmA AMIGA RUN 18 (1997)(G.R. Edizioni)(IT)[!][issue 1997-05][EAR-CD II].iso / earcd / misc / emu / arosdev.lha / AROS / docs / src / devinfo-2.src (.txt) < prev    next >
LaTeX Document  |  1997-01-27  |  9KB  |  203 lines

  1. \section{One for all and all for one - CVS}
  2. \label{CVS}CVS is a software to maintain a database which contains the
  3. sources of a project one works on. The software offers a list of commands
  4. to merge the most recent version of the project with the local sources and
  5. to publish changes on has made over the Internet.
  6. \subsection{CVS on Un*x}
  7. If you have Linux or any other Un*x, then all you need is CVS 1.8 or better.
  8. If it's not already on your system (type \shell{cvs} to find out), fetch
  9. if from one of the many GNU mirrors and install it in your \filename{$HOME}.
  10. Then get the AROS developer archive from the AmiNET and compile
  11. \filename{crypt.c} (just say \shell{make crypt}. Think of a good password
  12. and use \filename{crypt} to encode it, like this:
  13. \begin{example}
  14. > make crypt
  15. > crypt my_password
  16. Encrypting my_password: cbEVHg0j9uNRs
  17. \end{example}
  18. Now skip the next section and read on in "How get access to the AROS CVS
  19. server".
  20. \subsection{CVS on Amiga}
  21. If you have an Amiga, you can participate, too. Just get the CVS from
  22. ADE, install it and get the demo for AmiTCP 4.0 (\filename{AmiTCP-demo-40.lha}
  23. in \filename{comm/tcp}) from AmiNET. You also must have
  24. \filename{ixemul.library} 45.0 (should come with ADE) and
  25. \filename{ixnet.library} in \filename{LIBS:}. Then you can create
  26. your password with \filename{crypt} out of the \filename{AROScrypt.lha}
  27. archive from AmiNET (in \filename{dev/misc}) like this:
  28. \begin{example}
  29. > run amitcp:amitcp
  30. [CLI 8]
  31. > crypt my_password
  32. Encrypting my_password: cbEVHg0j9uNRs
  33. \end{example}
  34. (you must have the directory where crypt is stored in, in your path or
  35. you must do this in the same directory where crypt is).
  36. \bold{CVS doesn't work with Miami.} Miami uses a different routine for
  37. encrypting data than Un*x and therefore passwords generated with Miami
  38. won't work. Sorry.
  39. \subsection{How to get access to the AROS CVS server}
  40. Mail the password you have created to me:
  41. \email{digulla@aros.fh-konstanz.de}. The subject must be
  42. \shell{Access to AROS CVS Server} and with this text in the mail:
  43. \begin{example}
  44. Please add <my_login, eg. digulla> <password, eg. cbEVHg0j9uNRs>
  45. \end{example}
  46. Don't forget to fill in the information :-)
  47. Wait until I confirm this. While you wait, look for CVS 1.8 or better if
  48. you haven't already done so.
  49. \subsection{Logging into the server}
  50. Before you can use any CVS commands, you must log into the server. To do this,
  51. use the CVS command "login":
  52. \begin{example}
  53. > cvs -d :pserver:user@aros.fh-konstanz.de:/home/AROS/CVS login
  54. \end{example}
  55. where \shell{user} is your login, eg. digulla:
  56. \begin{example}
  57. > cvs -d :pserver:digulla@aros.fh-konstanz.de:/home/AROS/CVS login
  58. \end{example}
  59. This should ask you for your password. Type it in and if there is no error
  60. displayed, you are connected. If there is an error, try to omit the
  61. ":pserver:". If this still doesn't work, double check for
  62. typos and if you really, really, really can't find anything, then you
  63. got my email.
  64. \begin{emph}
  65. It seems that the protocol for CVS has changed. Version of CVS
  66. upto 1.8.1 and earlier need not have ":pserver:" before the login name,
  67. but later versions require it. If you have problems to login, try to omit
  68. ":pserver:" or prepend it. If CVS wants it, you will get an error reading
  69. "cvs login: can only use pserver method with `login' command".
  70. \end{emph}
  71. If the login has succeeded, then you can save you some typing by storing
  72. the argument to the \shell{-d} option in the environment
  73. variable \shell{CVSROOT}. Use
  74. \begin{example}
  75. setenv CVSROOT :pserver:user@aros.fh-konstanz.de:/home/AROS/CVS
  76. \end{example}
  77. on Amiga or if you have a C shell (csh) and
  78. \begin{example}
  79. export CVSROOT=:pserver:user@aros.fh-konstanz.de:/home/AROS/CVS
  80. \end{example}
  81. for Bourne/Korn shells (bash, ksh).
  82. On Amiga, you can make this
  83. permanent by \shell{copy env:CVSROOT envarc:}, on Unix, you must add
  84. this to the shell's startup file (\filename{.cshrc}, \filename{.profile},
  85. \filename{.bashrc}, \filename{.tcshrc}, etc. Read the manual of your
  86. shell to find out). If you don't know what kind of shell you have,
  87. just try \shell{echo $SHELL} or \shell{echo $shell}. This should
  88. print the name of your shell.
  89. If you haven't set this variable, you must add \shell{-d ...}
  90. right after cvs in the following examples.
  91. Now you can use any CVS command to get a copy of all AROS sources, update
  92. your sources or commit the changes you made.
  93. \subsection{How to get a copy of all AROS sources}
  94. Use the CVS checkout command for this:
  95. \begin{example}
  96. > cvs checkout AROS
  97. \end{example}
  98. This will create a
  99. directory AROS and populate it with all sources.
  100. \subsection{How to update the sources}
  101. If you have some sources and just want to update them, you can use the
  102. CVS update command. Change to the AROS directory and do this:
  103. \begin{example}
  104. > cvs update
  105. \end{example}
  106. This should merge any changes that other users have made into your
  107. sources and create all new directories and files. If you
  108. and someone else has changed the same file, then CVS will try to merge
  109. the changes. That is, if he changed the first part and you the end of the
  110. file, CVS will do all the work for you. If there are changes which CVS
  111. can't resolve (eg. you said |x--;| and the other one |x=x-1;|), then
  112. CVS will put \bold{both} versions in the file. Search for \shell{<<<<}
  113. to find such problems.
  114. You should do this before any commit in case this happens. So before
  115. you commit, do an update, call \filename{make} if any changes were
  116. made, fix the problems and then commit.
  117. \subsection{Committing changes}
  118. If you have changed a file, then you of course want to share your
  119. work with the other guys. To do this, use the CVS commit command:
  120. \begin{example}
  121. > cvs commit
  122. \end{example}
  123. You can specify a list of files after the \shell{commit} or just do that in
  124. the AROS directory to commit all changes. CVS will then ask you what you
  125. did and send the changes to the CVS server for inclusion. Before you do
  126. that, you should always make an update (see the previous section) to avoid
  127. problems.
  128. \subsection{Creating new files and directories}
  129. You can also add new files or directories with the CVS add command:
  130. \begin{example}
  131. > cvs add file.c
  132. \end{example}
  133. \begin{example}
  134. > cvs add dir
  135. \end{example}
  136. Note that \shell{cvs add dir/file} doesn't work. You can only add
  137. files in the current directory.
  138. \subsection{More infos about CVS}
  139. Well, CVS has man pages and info files and here is a nice
  140. \link{link}{http://www.loria.fr/~molli/cvs-index.html}.
  141. \section{The jobserver}
  142. \subsection{What is this ?}
  143. Well, it's more a task server. Its purpose is to allow multiple people to
  144. work at the same project at the same time without any two persons doing the
  145. same work twice. This is accomplished by the jobserver. It has a database
  146. with all tasks that are still to do, tasks that are currently under
  147. construction and tasks which are finished.
  148. \subsection{How does it work ?}
  149. Just send an EMail to
  150. \begin{example}
  151. aros@aros.fh-konstanz.de
  152. \end{example}
  153. with the \shell{Subject: jobserv} and in the body of the mail
  154. \begin{example}
  155. \end{example}
  156. It will list all commands that jobserv currently understands. Note that
  157. this is an automated service so the subject must match. jobserv ignores all
  158. lines in an email that it doesn't understand and stops reading at the first
  159. \shell{end} or \shell{--} on a line of its own. jobserv will answer your EMails telling
  160. you what it did, what commands it did understand, which it did execute and
  161. which not and if not, why not. jobserv will also remember your EMail so
  162. others can see who added/requested/did which job - So don't worry you won't
  163. be credited for your work.
  164. \subsection{Some commands the jobserver understands}
  165. \begin{description}
  166. \item{add <id> <description>} Add a new job with the id <id> and the short text
  167.         <description> as an explanation. <id> may contain any character
  168.         except whitespace. Here is an example:
  169. \begin{example}
  170. add exec00001 Write AddHead
  171. \end{example}
  172.         If the command was successful, the reply will tell you that a
  173.         new job has been added to the database. If it wasn't
  174.         successful, it will tell you why not (eg. because there is
  175.         already a job with the same id).
  176. \item{req <id>} Allocate a task. This task will now be allocated by you. Your
  177.         EMail will be stored with it so everyone can see who is working
  178.         on that job and query you if you take too long or whatever.
  179. \item{done <id>} After you requested the job and finished it, you must tell
  180.         jobserv that you're through.
  181. \item{show [free] [work] [done] [byme]} The most important command. It tells
  182.         jobserv that you want to know what jobs are available and the
  183.         like. All parameters are optional. "byme" is a flag which
  184.         restricts the answer to jobs which match your EMail. The other
  185.         flags are additive and restrict the reply to jobs which are
  186.         still open, currently in progress or finished. So to see
  187.         the jobs which were added and finished by you, use
  188. \begin{example}
  189. show free done byme
  190. \end{example}
  191.         Note that jobserv doesn't remember that you added a task if
  192.         someone else allocated it. The most useful variants will be:
  193. \begin{example}
  194. show free
  195. \end{example}
  196.         which shows everything that's still open and
  197. \begin{example}
  198. show work byme
  199. \end{example}
  200.         which shows what jobs you did allocate and haven't finished
  201.         yet.
  202. \end{description}
  203.